Modern fourier transform NMR is accomplished in apparatus including a receiver coupled to analog to digital converters sampling a bandlimited continuous time domain function at sampling rates which may be in the range from a few kilohertz to a few megahertz. The signal experiences a variety of processing steps. For example, an analog band limiting filter is imposed to limit the frequency content of the signal. A number of operations may be applied to the data set which represents the time domain data as a discrete digital data set.
The free induction decay (FID) signal which is commonly acquired in NMR measurements is a superposition of a number of exponentially decaying RF signals arising from the de-excitation (re-orientation) of resonant nuclear spins. This signal is mixed down to an audio-frequency spectrum using quadrature detection techniques commonly employed for single sideband detection. This information may be regarded as the sum of a set of exponentially decaying oscillators, each oscillator frequency representing an offset from the RF carrier. It is usually assumed that there is some physical time origin at which all these oscillators are in phase, but such time origin is only approximate. Also present in this signal is noise generated by the sample signal detection subsystem (probe) and/or the analog electronics preceding the digitizers.
The requirements of an NMR signal processing system include the need for high dynamic range and accurate treatment of the system noise. The dynamic range is limited by the resolution of the ADC and usually the limit is established through a type of error known as quantization noise. It is desirable that the quantization noise be smaller than the system noise in order that the latter be treated accurately. A well known technique for accomplishing this is called oversampling. The signal is sampled some factor faster than the final desired rate, some type of digital filter is applied to this oversampled data, and then the data is reduced back down to the desired rate. It is possible to oversample and to keep the entire oversampled data set without reducing it back down, but this is undesirable because the amount of data to store is unnecessarily large.
Oversampling is the technique which improves the quality (signal to noise) of the data, but at issue here is the fact that oversampling establishes the need for digital filtering, and digital filtering is the focus of the invention.
The most desirable digital filter is performed in real time, presents the data to the host computer such that no further processing is required--in particular such that no phase correction is required--and introduces no other spectral artifacts, such as a rolling baseline.
A real time process operating on a continuous stream of discrete (digital) data is one where there is no accumulating time delay in the output data from the process. It is possible, for example, to have a process which is computationally intensive for every Mth input point, but some of the non-intensive time slack can be made available for use by the intensive part of the process such that the overall process rate remains on track.
It is known to apply digital filtering in real time to an NMR time domain signal. However, typically a large (many times 360 degrees-per-hertz) phase correction needs to be applied. This is because commonly employed digital filters delay the in-phase point. Two entirely equivalent methods for correcting this unphased data are phase correction of the spectrum through a linearly varying weighted sum of the real and imaginary spectral components, or through rotating the data prior to the transform from the time domain to the frequency (spectral) domain. Data rotation is a similar manipulation wherein an early portion of the detected signal is stored at the distal end of the data table. Note that both methods have the undesirable feature that the entire data set must be available before processing.
It is possible to perform a real-time phase correction of the digitally filtered data by ignoring all output data prior to the in-phase point. This method is something akin to a digital left shift, as might be employed on the bits of a single data register, as distinct from a rotate left, which is akin tothe data rotation method. The left-shift method, however, produces undesirable artifacts in the baseline.